package com.karrim.server.util.array.def;

import com.karrim.server.util.array.exception.ElementNotFoundException;
import com.karrim.server.util.def.HasSize;
import com.karrim.server.util.def.Splittable;

/**
 *
 * @author andrea.cantafio
 */
public interface Array<T> extends HasSize<Integer>, Iterable<T>, Splittable<T> {

    public Array<T> add(T t);

    public boolean contains(T t);

    public Class<T> getComponentType();

    public Array<T> remove(T t) throws ElementNotFoundException;
}
